Modern computing systems comprise numerous electronic components such as Graphics Processing Units (GPUs), Central Processing Units (CPUs), Random-Access Memory (RAM), etc. As a computing system becomes more complex to support demand from users for computing and other applications, multiple GPUs and/or CPUs are often required within the same computing system.
Traditionally, computing systems are designed with a fixed Peripheral Component Interconnect Express (PCIe) topology to support multiple GPUs and CPUs. A user of a computing system cannot change the PCIe topology of the computing system. However, a specific PCIe topology that is ideal for a particular application may be inefficient for some other applications (e.g., other GPU applications).